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

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜全文
查看: 23433|回复: 29

[求助] create_generated_clock

[复制链接]
发表于 2010-3-25 21:31:37 | 显示全部楼层 |阅读模式

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

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

×
大家好,小弟现在有一棘手问题求助于各位高手,麻烦各位高手帮忙,先谢谢了。叙述如下:
      clk_usart是外部输入时钟,clk_cnt32[4]是由clk_usart经32分频后的时钟(计数器分频),clk_cnt20[3]是由clk_cnt32[4]经20分频后的时钟(计数器分频),clk_usart_div2是由clk_usart经2分频后的时钟,在用design compiler 进行综合时,我写的部分脚本如下:
create_clock -period 10 -waveform {0 5} clk_usart
set_clock_latency 0.1 clk_usart
set_clock_uncertainty -setup 0.5 clk_usart
set_clock_uncertainty -hold 0.2 clk_usart
set_clock_transition 0.3 clk_usart
set_dont_touch_network clk_usart


create_generated_clock -name clk_cnt32[4] -source clk_usart -divide_by 32 [get_pins clk_cnt32_reg[4]/Q]
create_generated_clock -name clk_cnt20[3] -source [get_attribute [get_clocks clk_cnt32[4]] sources] -master_clock clk_cnt32[4] -divide_by 20 [get_pins clk_cnt20_reg[3]/Q]
create_generated_clock -name clk_usart_div2 -source clk_usart -divide_by 2 [get_pins clk_usart_div2_reg/Q]

set_dont_touch_network clk_cnt20[3]
set_dont_touch_network clk_cnt32[4]
set_dont_touch_network clk_usart_div2

综合时出现如下警告,该如何处理呢:
Warning: A non-unate path in clock network for clock 'clk_cnt32[4]'
from pin 'add_16/*cell*12/Y' is detected. (TIM-052)
Warning: A non-unate path in clock network for clock 'clk_cnt20[3]'
from pin 'add_24/U1_1_3/S' is detected. (TIM-052)
Warning: A non-unate path in clock network for clock 'clk_cnt20[3]'
from pin 'add_24/*cell*56/Y' is detected. (TIM-052)
Warning: A non-unate path in clock network for clock 'clk_cnt32[4]'
from pin 'add_16/*cell*12/Y' is detected. (TIM-052)
Warning: A non-unate path in clock network for clock 'clk_cnt20[3]'
from pin 'add_24/U1_1_3/S' is detected. (TIM-052)
Warning: A non-unate path in clock network for clock 'clk_cnt20[3]'
from pin 'add_24/*cell*56/Y' is detected. (TIM-052)
发表于 2021-10-13 16:01:35 | 显示全部楼层
create_clock 命令写错了,你创造的是虚拟时钟
回复 支持 反对

使用道具 举报

发表于 2016-9-23 15:57:30 | 显示全部楼层
楼主,最后怎么处理掉这个问题?
回复 支持 反对

使用道具 举报

发表于 2015-3-7 15:28:59 | 显示全部楼层
回复 1# X6J6P6


   你好,问问你为什么要给每个时钟都设置dont_touch_network属性?
回复 支持 反对

使用道具 举报

发表于 2012-5-15 21:19:29 | 显示全部楼层
man TIM-052  是具体是怎么说的
在不影响你设计的functional mode的情况下
可以用set_clock_sense和set_case_analysis解决
回复 支持 反对

使用道具 举报

发表于 2012-5-15 21:18:09 | 显示全部楼层
man TIM-052  是具体是怎么说的
在不影响你设计的functional mode的情况下
可以用set_clock_sense和set_case_analysis解决
回复 支持 反对

使用道具 举报

发表于 2012-5-11 16:27:30 | 显示全部楼层
回复 23# lizhaohong520@


    这是时序太离谱了点

会不会是数据的触发上是posedge或者negedge的问题,我以前也遇到这个问题。
我的情况好像是rise-fall的时序检查,也有这个问题。
但是我是因为分频的时候把一个8分频的时钟取反输出,后来我去掉了这个取反,rise-fall检查就没有slack的违背问题。
回复 支持 反对

使用道具 举报

发表于 2012-5-11 16:23:41 | 显示全部楼层
回复 21# haier822


    楼主的这个写法也比较特殊,可能你是在综合一次后才可以这么写吧,不然rtl里面很难考虑到综合后的这个说明情况,楼主可以尝试下对所有的时钟约束用rtl中的名字来写。
回复 支持 反对

使用道具 举报

发表于 2012-5-11 16:10:02 | 显示全部楼层
你的rtl的20分频会不会逻辑太复杂了,32分频应该是直接从counter上面抽出来的,应该是没有什么问题吧。
而且从警告来看,是你的32分频的时钟和20分频的两个时钟之间有问题,会不会是你在脚本的source时钟定义上面有什么问题;
整个设计的master时钟应该是只有一个就是你的clk_usart
回复 支持 反对

使用道具 举报

发表于 2012-5-10 16:16:26 | 显示全部楼层
1)2个clk之间的关系不正确
2)查u9到clk256_reg之间为什么这么大的延迟
回复 支持 反对

使用道具 举报

发表于 2011-11-17 13:12:34 | 显示全部楼层
网表中的位置
在DC综合前这么写好像也可以被接受
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2025-9-19 06:40 , Processed in 0.024371 second(s), 6 queries , Gzip On, Redis On.

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