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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

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

[求助] 关于多路时钟复用和分频时钟的该如何去约束,求助!!!

[复制链接]
发表于 2019-4-11 14:59:29 | 显示全部楼层 |阅读模式

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

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

x
各位前辈好,我目前有几个关于时钟约束的点想请教一下,详情如下:
1、我的数字模块工作时钟是由模拟前端电路给的(RF_CLK),但是为避免模拟电路无法正常工作所带来的影响,我们需要加一个多路开关,在TEST_EN信号为高时,使用外部测试时钟(TEST_CLK),但是时钟复用开关的输出后面会跟两个分频器,用于产生分频信号供内部电路使用,图片如下:

2、我的想法是,在RTL代码中这样写:
assign sys_clk = TEST_EN ? TEST_CLK : RF_CLK;

always @(posedge sys_clk or negedge rst_n)
  if(!rst_n)
    clk_divide_128 <= 1'b0;
  else if(counter==6'd63)
    clk_divide_128 <= ~clk_divide_128;


3、在DC中,我根据书上的方法,这样约束:
create_clock RF_CLK -period 50   [get_ports RF_CLK]
create_clock TEST_CLK -period 100 [get_ports TEST_CLK]

set_case_analysis 0  [get_ports TEST_EN]
分频时钟:create_generated_clock  -name clk_divide_128 -source [get_ports RF_CLK] -divide_by 128 [get_pins inst_clk_gen/clk_divide_128_reg/Q]



然后DC会报错:The following generated clock has no path to its master clock.


所以我的问题是:
1)我该如何正确的生成多路时钟,是像RTL代码里这样写吗?
2)我有上网查过,当存在多路时钟时,约束方法和我写的不太一样,(有在create_clock后加-add选项的)怎样才是正确的做法?
3)怎样在DC阶段插入CLOCK MUX
4)然后我后面的generate clock该怎么约束,-source定义到哪个点,需要加-master_clock选项吗?

万分感谢各位前辈!急!


多路时钟.PNG
 楼主| 发表于 2019-4-11 22:02:36 | 显示全部楼层
顶一顶
 楼主| 发表于 2019-4-12 15:12:00 | 显示全部楼层
这段时间问题有点多,见谅,再顶
发表于 2019-4-12 16:57:42 | 显示全部楼层
create_generate_clock -name -source -master_clock -divide_by -add
发表于 2019-4-12 17:26:23 | 显示全部楼层
使用-add保证把门控时钟的输出拆分成两条独立的路径去分析。然后还要用exclusive做一下互斥。
 楼主| 发表于 2019-4-12 19:57:43 | 显示全部楼层


gaurson 发表于 2019-4-12 17:26
使用-add保证把门控时钟的输出拆分成两条独立的路径去分析。然后还要用exclusive做一下互斥。 ...


感谢前辈回复,可以说得详细一些嘛,这个问题卡了我快一个星期了,真的希望能解决,非常感激
您需要登录后才可以回帖 登录 | 注册

本版积分规则

×

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

GMT+8, 2024-11-5 13:02 , Processed in 0.019056 second(s), 8 queries , Gzip On, Redis On.

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