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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 361|回复: 5

[求助] mux后的时钟创建

[复制链接]
发表于 2024-9-12 11:28:07 | 显示全部楼层 |阅读模式

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

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

x

在写sdc的时候遇到一个问题,clk1 和clk2 是异步时钟,经过mux选择后还经过了分频器。
我分别在mux的I0和I1创建了时钟,并在p点创建了相应的generated_clock,请问这两个generated_clock应该设为asynchronous还是physically_exclusive,大概是这样的:

        create_clock -period $periods -name  CLK1  [get_pins mux/I0]

        create_clock -period $periods -name  CLK2  [get_pins mux/I1]
        create_generated_clock -name GCLK_div_clk1 -source     [get_pins mux/I0]       -divide_by 2 [get_pins DIV/p]

        create_generated_clock -name GCLK_div_clk2 -source     [get_pins mux/I1]       -divide_by 2 [get_pins DIV/p] -add
分组的时候应该是:         set_clock_groups -name asyngroup -asynchronous   -group " CLK1 GCLK_div_clk1" -group "CLK2   GCLK_div_clk2 "
还是:                            set_clock_groups -name asyngroup -asynchronous   -group " CLK1 " -group "CLK2 "
                                      set_clock_groups -name asyngroupdiv -physically_exclusive   -group " GCLK_div_clk1  " -group " GCLK_div_clk2 "


aaa.png
发表于 2024-9-12 11:40:19 | 显示全部楼层
同求大神指导,我一般都是设成
set_clock_groups -name asyngroupdiv -physically_exclusive   -group " GCLK_div_clk1  " -group " GCLK_div_clk2 "
set_clock_groups -name asyngroup -asynchronous   -group " CLK1 GCLK_div_clk1" -group "CLK2   GCLK_div_clk2
发表于 2024-9-12 14:19:49 | 显示全部楼层


flyskyseu 发表于 2024-9-12 11:40
同求大神指导,我一般都是设成
set_clock_groups -name asyngroupdiv -physically_exclusive   -group " GC ...


如果是不考虑SI的话,只用-asynchronous就可以了。如果考虑串扰的SI的分析,需要设置成physically_exclusive,就是避免不必要的的串扰分析。
 楼主| 发表于 2024-9-13 10:18:30 | 显示全部楼层


hxy2018 发表于 2024-9-12 14:19
如果是不考虑SI的话,只用-asynchronous就可以了。如果考虑串扰的SI的分析,需要设置成physically_exclus ...


谢谢大佬回复,另外请教一个问题,如果像下图这样clk1和clk2完全异步,sdc
里可不可以不创建clk1和clk2 ,而是只在p点后直接create_clock,频率按两个时钟里最严的约,这样会有什么不妥吗?

                               
登录/注册后可看大图

发表于 2024-9-13 18:56:16 | 显示全部楼层


jiexin01 发表于 2024-9-13 10:18
谢谢大佬回复,另外请教一个问题,如果像下图这样clk1和clk2完全异步,sdc
里可不可以不创建clk1和clk2  ...


如果mux前没有时钟驱动的cell,而且你能确定哪个时钟是最差情况,可以只在mux输出创建一个时钟。如果是普适情况,应当尽量往前创建。因为最差情况不仅只考虑最高频率,还有transition/latency/duty cycle以及这两个时钟与其他同步时钟在交汇处的相位关系等因素。
发表于 2024-9-17 21:12:12 | 显示全部楼层


jiexin01 发表于 2024-9-13 10:18
谢谢大佬回复,另外请教一个问题,如果像下图这样clk1和clk2完全异步,sdc
里可不可以不创建clk1和clk2  ...


一般不会这样定义,除非能保证ck1和clk2和后面定义的clock没有相交,没有CDC的问题才行,否则很难设约束。如果有CDC,又设置成async的话,那么CDC path上的cell就漏约了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-11-5 17:19 , Processed in 0.026144 second(s), 7 queries , Gzip On, Redis On.

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