在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 15476|回复: 28

[求助] multicycle cycle的hold 一定没有violation吗?

[复制链接]
发表于 2011-9-28 20:13:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 xinu2009 于 2011-9-28 20:17 编辑

小弟最近在看后端 有许多不明白的地方,请各位 智者见智
1。为何在添加constrain时multicycle cycle的hold的要比setup少1呢?、
2。multicycle cycle的hold 一定没有violation吗?
3。multicycle指的是register每multicycle接收到一个data还是指的是每multicycle只接收一个data?每个cycle都在接收数据但是multicycle个周期才处理一次的情形下,是不是设置hold的constrain时候不能设置multicycle?
发表于 2011-9-28 21:35:35 | 显示全部楼层
1。为何在添加constrain时multicycle cycle的hold的要比setup少1呢?
这是因为synopsys default hold check是在capture clock前1个cycle,in other words,
default set_multicycle_path -setup 1 -end XXXXX
default set_multicycle_path -hold 0 -start XXXXX
如果多clock域的话,这里还要设置 multicycle -start 还是-hold 来确定针对哪个clock进行MC
hold一般来说是比setup少1, 但是一定要分清楚-start 还是-hold

2。multicycle cycle的hold 一定没有violation吗?
不一定~ MC 一般来说是datapath比较长,capture clock无法再一个周期采样,但并不代表shortest path也很长。 如果longest path> 1 period,但shortest path又很短,设了mc一样可能会有hold vio

3。multicycle指的是register每multicycle接收到一个data还是指的是每multicycle只接收一个data?每个cycle都在接收数据但是multicycle个周期才处理一次的情形下,是不是设置hold的constrain时候不能设置multicycle?
multicycle 指每多个cycle capture一次,期间接受的data 不valid
不存在每个cycle都接受 然后多cycle处理一次,那不叫multicyclepath
发表于 2011-9-29 09:09:30 | 显示全部楼层
多谢回答啊,讲得很清楚,

multicycle path主要是为了relax setup timing constraint的, hold check可以相应调整,

如果不调整, 就是按缺省的做的
发表于 2011-9-29 09:26:22 | 显示全部楼层
回复 3# icfbicfb


   哈哈 多谢奖励~ 回答别人问题对自己也是一种进步 不是么 哈哈
发表于 2011-9-29 09:59:15 | 显示全部楼层
回复 2# optihack


    楼主,请先弄明白multicycle的物理意义,之所以要设multicycle是因为data路径延时很大,数据的传输需要多个时钟周期,在1个时钟周期之内无法达到寄存器的D端。另外如果想学习,请查阅PT中的timing exception部分知识,重点理解multicycle path,min delay path, max delay path。在加上generate clock,PT就基本OK了。
发表于 2011-9-29 10:14:18 | 显示全部楼层
对,主要是pt的 manual看看
 楼主| 发表于 2011-9-29 13:14:27 | 显示全部楼层
回复 2# optihack


    谢谢您耐心的回答
祝你开心
我也想奖励你些信元,确实没找到奖励的选项。我再找找看
发表于 2011-9-29 13:44:25 | 显示全部楼层
回复 2# optihack


    回答得很好啊,赞
发表于 2011-9-29 19:02:01 | 显示全部楼层
好人啊
发表于 2013-1-3 21:58:00 | 显示全部楼层
回复 10# zouxinfeng95321


    set_multicycle_path XX -setup -from clk1 -to clk2
简单的理解就是clk1为start clk,clk2为end clk
对于不同频率,但是是同步时钟,个人有个简单的记忆方法就是看快时钟,
相同相位的同步时钟就不说了
慢到快clk domain ,
set_multicycle_path XX -setup -end -from clk1 -to clk2
set_multicycle_path XX-1 -hold -end -from clk1 -to clk2
快到慢clk domain
set_multicycle_path XX -setup -start -from clk1 -to clk2
set_multicycle_path XX-1 -hold -start -from clk1 -to clk2
看一下文档,慢慢体会下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-22 17:30 , Processed in 0.027278 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表