ljm_147258mei的个人空间 https://blog.eetop.cn/1768385 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

时序约束---set_multicycle_path

热度 10已有 1580 次阅读| 2024-11-29 14:54 |个人分类:innovus|系统分类:芯片设计

set_multicycle_path命令用于设置多周期路径,多周期路径(Multicycle Path)是指在数字电路设计中,某些信号路径的传输延迟超过一个时钟周期,但仍然能够满足逻辑功能的情况。具体解释和含义就不多介绍了,主要记录下以下几个option的用法:

命令格式如下:
set_multicycle_path
  [-setup]
  [-hold]
  [-start]
  [-end]
  [-from list]
  [-to list]
  [-through list]
  path_multiplier
  • path_multiplier:setup默认为1,hold默认为0;

  • setup:表示对setup设置multicycle,设置setup option,默认移动(end clock)capture clock,-setup = -setup -end;

  • hold:表示对hold设置multicycle,设置hold option,默认移动(start clock)launch_clk,-hold = -hold -start;

  • start:表示强制移动的为start clock即launch clock;

  • end: 表示强制移动的为end clock即capture clock。


应用实例:

1、同频同相

通常,对于同步时钟域内,时序分析中setup默认是在一个周期内分析,hold分析是在当前时刻进行分析

image.png

默认的时序检查情况为单周期,此时的multicycle默认设置如下(单周期路径默认关系):

set_multicycle_path 1 -setup -from U1/CK -to U2/CK

set_multicycle_path 0 -hold -from U1/CK -to U2/CK

image.png


当设置如下约束时,对setup设置multicycle 2,setup默认值为1,因此设置2时,意味着将capture clock向右移动(2-1)个周期(不指定-start/-end,默认-end),此时hold还是默认设置0,setup多周期的改变影响hold check,两个时钟之间的波形关系如下:

set_multicycle_path –setup 2 –from U1/CK –to U2/D

image.png


当设置如下约束时,在上面对setup设置multicycle 2后,对于hold比较难满足,此时对hold设置multicycle 1,意味着将launch clock向右移动(1-0)个周期(不指定-start/-end,默认-start),setup分析结果不受hold多周期的影响,两个时钟之间的波形关系如下:

set_multicycle_path –setup 2 –from U1/CK –to U2/D

set_multicycle_path –hold 1 –from U1/CK –to U2/D

image.png


2、同频反沿(launch下降沿有效)

U1的clock下降沿有效,U2的clock上升沿有效,默认的波形关系如下:

image.png

当设置setup multicycle 2时,capture clock向右移动(2-1)个周期

set_multicycle_path –setup 2 –from U1/CK –to U2/D

image.png

当设置setup multicycle 2,hold multicycle 1时,capture clock向右移动(2-1)个周期,launch clock也向右移动(1-0)个周期

set_multicycle_path –setup 2 –from U1/CK –to U2/D

set_multicycle_path –hold 1 –from U1/CK –to U2/D

image.png


3、快时钟到慢时钟

快时钟到慢时钟,不从0开始,主要为了在设置multicycle看的明显些

image.png

当设置setup multicycle 3,而且指定-start,这时要将launch clock向左移动(3-1)个周期,波形如下:

set_multicycle_path –setup 3 -start –from U1/CK –to U2/D

image.pngimage.png

当在setup设置multicycle 3的基础上,在将hold设置multicycle 2时,这时将launch clock向右移动(2-0)个周期,波形如下:

set_multicycle_path –setup 3 -start –from U1/CK –to U2/D

set_multicycle_path –hold 2 -start –from U1/CK –to U2/D

image.png

因此要想保证hold的check关系不变,当setup multicycle N,hold multicycle设置为N-1;如果想要让hold更放松,hold也设置为3时,波形关系如下:

set_multicycle_path –setup 3 -start –from U1/CK –to U2/D

set_multicycle_path –hold 3 -start –from U1/CK –to U2/D

image.png

4、慢时钟到快时钟

慢时钟到快时钟,对于setup来说,是相当于加严约束,比较难收敛

image.png

setup设置multicycle 2,没有指定-start/-end,默认-end,将capture clock向右移动(2-1)个周期,setup和hold的波形关系如下:

set_multicycle_path –setup 2  –from U1/CK –to U2/D

image.png

在setup设置multicycle 2的基础上,hold也变严了,如果要保证hold的收敛,将hold保持在0时刻采,hold multicycle设置为1,与-end组合,将capture clock向左移动(1-0)个周期,其波形关系如下:

set_multicycle_path –setup 2 –from U1/CK –to U2/D

set_multicycle_path –hold 1 -end –from U1/CK –to U2/D

image.png

总结

1、setup默认multicycle 1,hold默认multicycle 0;

2、当指定setup,不指定-start/-end时,默认-end,移动capture clock;当指定hold,不指定-start/-end时,默认-start,移动launch clock;

3、setup多周期的改变会影响hold check,但setup分析结果不受hold多周期的影响;

4、想保证hold的check关系不变(0沿发0沿采),当setup multicycle N,hold multicycle设置为N-1

image.png

评论 (0 个评论)

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 5

    月排名
  • 0

    总排名
  • 0

    关注
  • 2

    粉丝
  • 0

    好友
  • 0

    获赞
  • 0

    评论
  • 31

    访问数
关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-14 21:35 , Processed in 0.014537 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部